//
// Created by ChaoDONG on 2021-03-17.
//

/* floaterr.c--demonstrates round-off error */

#include <stdio.h>

int main(void)
{
    float a,b;

    b = 2.0e20 + 1.0;
    /* 如果把该数加1，那么发生变化的是第21位。
    要正确运算，程序至少要储存21位数字。而float类型的数字通常只能储存按
    指数比例缩小或放大的6或7位有效数字 */

    a = b - 2.0e20;

    printf("%f \n", a);

    return 0;
}
